Subject: Editor's draft DLSw spec (4 of 8)

From: "Alan K. Bartky, Manager of Technology" <[email-masked]>
Date: Mon, 11 Jul 94 13:39:30 PDT

----------
X-Sun-Data-Type: text
X-Sun-Data-Description: text
X-Sun-Data-Name: text
X-Sun-Content-Lines: 1
X-Sun-Content-Length: 22

Here is part 4 of 8.

----------
X-Sun-Data-Type: default
X-Sun-Data-Description: default
X-Sun-Data-Name: dlsw4.txt
X-Sun-Content-Lines: 478
X-Sun-Content-Length: 20125

RFC XXXX      DLSw: Switch-to-Switch Protocol                June 1994

   Flow #1 - DLSw Bringup With XIDs
      ======                            ___                           ======
      |    |        ---------        __/   \__       ---------        |    |
      |    |      __|  _|_  |__     /   IP    \    __|  _|_  |__      |    |
      ======        |   |   |      <  Network  >     |   |   |        ======
     /______\       ---------       \__     __/      ---------       /______\
      Origin       Origin DLSw         \___/        Target DLSw      Target
      Station        partner                          partner        Station

                   disconnected                    disconnected

                   DLC_RESOLVE_C   CANUREACH_ex
                   ----------->    ----------->

                                     ICANREACH_ex
                                     <-----------

                   DLC_XID         CANUREACH_cs    DLC_START_DL
                   ----------->    ----------->    ----------->
                   circuit_start                   resolve_pending

                                     ICANREACH_cs    DLC_DL_STARTED
                                     <-----------    <-----------
               circuit_established                 circuit_pending
                                   REACH_ACK
                                   ----------->   circuit_established

                                   XIDFRAME        DLC_XID
     See Note 1                    ----------->    ----------->

                          DLC_XID        XIDFRAME         DLC_XID
                     <-----------    <-----------    <-----------

                   DLC_XID         XIDFRAME        DLC_XID
                   ----------->    ----------->    ----------->

                      DLC_XIDs       XIDFRAMEs        DLC_XIDs
                   <------------>  <------------>  <------------>

                   DLC_CONTACTED   CONTACT         DLC_CONTACT
                   ----------->    ----------->    ----------->
                   connect_pending                 contact_pending

                      DLC_CONTACT       CONTACTED    DLC_CONTACTED
                     <-----------    <-----------    <-----------
                      connected                       connected

                     DLC_INFOs        IFRAMEs        DLC_INFOs
                   <------------>  <------------>  <------------>

A.K. Bartky                                                  [Page 29]RFC XXXX      DLSw: Switch-to-Switch Protocol                June 1994

   The mapping of LAN events to the DLC events and actions on Flow #1 produces are
   shown below:

      ======                            ___                           ======
      |    |        ---------        __/   \__       ---------        |    |
      |    |      __|  _|_  |__     /   IP    \    __|  _|_  |__      |    |
      ======        |   |   |      <  Network  >     |   |   |        ======
     /______\       ---------       \__     __/      ---------       /______\
      Origin       Origin DLSw         \___/        Target DLSw      Target
      Station        partner                          partner        Station

                   disconnected                    disconnected

   TEST_cmd        DLC_RESOLVE_C   CANUREACH_ex                    TEST_cmd
   ----------->    ----------->    ----------->                    ---------->

         TEST_rsp                    ICANREACH_ex                        TEST_rsp
     <-----------                    <-----------                    <-----------

   null XID        DLC_XID         CANUREACH_cs    DLC_START_DL
   ----------->    ----------->    ----------->    ----------->
                   circuit_start                   resolve_pending

                                     ICANREACH_cs    DLC_DL_STARTED
                                     <-----------    <-----------
               circuit_established                 circuit_pending
                                   REACH_ACK
                                   ----------->   circuit_established

                                   XIDFRAME        DLC_XID         null XID
                                   ----------->    ----------->    ---------->

             XID          DLC_XID        XIDFRAME         DLC_XID             XID
     <-----------    <-----------    <-----------    <-----------    <-----------

       XIDs           DLC_XIDs       XIDFRAMEs        DLC_XIDs          XIDs
   <------------>  <------------>  <------------>  <------------>  <------------>

   SABME           DLC_CONTACTED   CONTACT         DLC_CONTACT     SABME
   ----------->    ----------->    ----------->    ----------->    ----------->
                   connect_pending                 contact_pending

               UA     DLC_CONTACT       CONTACTED    DLC_CONTACTED             UA
     <-----------    <-----------    <-----------    <-----------    <-----------
                     connected                        connected

      IFRAMEs        DLC_INFOs        IFRAMEs        DLC_INFOs        IFRAMEs
   <------------>  <------------>  <------------>  <------------>  <------------>

A.K. Bartky                                                  [Page 30]RFC XXXX      DLSw: Switch-to-Switch Protocol                June 1994

   Those implementations that prefer to respond to the SABME immediately could use
   the same events to do that:

   SABME           DLC_CONTACTED   CONTACT         DLC_CONTACT     SABME
   ----------->    ----------->    ----------->    ----------->    ----------->
              UA   connect_pending                 contact_pending
     <-----------
   RR
   ----------->
             RNR
     <-----------

               RR     DLC_CONTACT       CONTACTED    DLC_CONTACTED             UA
     <-----------    <-----------    <-----------    <-----------    <-----------
                     connected                        connected

      IFRAMEs        DLC_INFOs        IFRAMEs        DLC_INFOs        IFRAMEs
   <------------>  <------------>  <------------>  <------------>  <------------>

A.K. Bartky                                                  [Page 31]RFC XXXX      DLSw: Switch-to-Switch Protocol                June 1994

   Flow #2 - DLSw Bringup Without XIDs (circuit setup)

      ======                            ___                           ======
      |    |        ---------        __/   \__       ---------        |    |
      |    |      __|  _|_  |__     /   IP    \    __|  _|_  |__      |    |
      ======        |   |   |      <  Network  >     |   |   |        ======
     /______\       ---------       \__     __/      ---------       /______\
      Origin       Origin DLSw         \___/        Target DLSw      Target
      Station        partner                          partner        Station

                   disconnected                    disconnected

                   DLC_CONTACTED   CANUREACH_cs    DLC_START_DL
                   ----------->    ----------->    ----------->
                   circuit_start                   resolve_pending

                                     ICANREACH_cs    DLC_DL_STARTED
                                     <-----------    <-----------
               circuit_established                 circuit_pending
                                   REACH_ACK
                                   ----------->   circuit_established

                                   CONTACT         DLC_CONTACT
                                   ----------->    ----------->
                   connect_pending                 contact_pending

                      DLC_CONTACT       CONTACTED    DLC_CONTACTED
                     <-----------    <-----------    <-----------
                      connected                       connected

                     DLC_INFOs        IFRAMEs        DLC_INFOs
                   <------------>  <------------>  <------------>
   -------------------------------------------------------------------------

A.K. Bartky                                                  [Page 32]RFC XXXX      DLSw: Switch-to-Switch Protocol                June 1994

   Mapping LAN events to the DLC events and actions on Flow #2 (and adding a
   NETBIOS_NQ and NETBIOS_NR_ex) produces:

      ======                            ___                           ======
      |    |        ---------        __/   \__       ---------        |    |
      |    |      __|  _|_  |__     /   IP    \    __|  _|_  |__      |    |
      ======        |   |   |      <  Network  >     |   |   |        ======
     /______\       ---------       \__     __/      ---------       /______\
      Origin       Origin DLSw         \___/        Target DLSw      Target
      Station        partner                          partner        Station

                   disconnected                     disconnected

   NAME_QUERY      DLC_DGRM        NETBIOS_NQ_ex   DLC_DGRM        NAME_QUERY
   ----------->    ----------->    ----------->    ----------->    ----------->

       NAME_RECOG         DLC_DGRM   NETBIOS_NR_ex       DLC_DGRM      NAME_RECOG
     <-----------    <------------   <-----------    <-----------    <-----------

   SABME           DLC_CONTACTED   CANUREACH_cs    DLC_START_DL
   ----------->    ----------->    ----------->    ----------->
                   circuit_start                   resolve_pending

                                     ICANREACH_cs    DLC_DL_STARTED
                                     <-----------    <-----------
               circuit_established                 circuit_pending
                                   REACH_ACK
                                   ----------->   circuit_established

                                   CONTACT         DLC_CONTACT     SABME
                                   ----------->    ----------->    ----------->
                   connect_pending                 contact_pending

               UA     DLC_CONTACT       CONTACTED    DLC_CONTACTED             UA
     <-----------    <-----------    <-----------    <-----------    <-----------
                      connected                       connected

      IFRAMEs        DLC_INFOs        IFRAMEs        DLC_INFOs        IFRAMEs
   <------------>  <------------>  <------------>  <------------>  <------------>

   In keeping with a paradigm of 'DLSw is a big 802.2 LAN', all other DLC types
   (SDLC for now, QLLC, channel, or whatever in the future) would be handled by a
   'DLC transformation layer' that would transform the specific protocol's events
   into the appropriate DLSw DLC events and DLSw DLC actions into the appropriate
   protocol actions.  The XIDs that flow in the SSP XIDFRAME should stay 802.2ish
   (ie. ABM bit set) and leave it up to the DLC transformation layer to suit the
   XID to its particular DLC type.

A.K. Bartky                                                  [Page 33]RFC XXXX      DLSw: Switch-to-Switch Protocol                June 1994

   Here is an example of a leased SDLC PU 2.0 device as the origin station.  It
   should use Flow #2 since it is not known if the other side is a LAN, a switched
   line or a leased line.

      ======                            ___                           ======
      |    |        ---------        __/   \__       ---------        |    |
      |    |      __|  _|_  |__     /   IP    \    __|  _|_  |__      |    |
      ======        |   |   |      <  Network  >     |   |   |        ======
     /______\       ---------       \__     __/      ---------       /______\
      Origin       Origin DLSw         \___/        Target DLSw      Target
      Station        partner                          partner        Station

                   disconnected                     disconnected

   implementer's   DLC_RESOLVE_C   CANUREACH_ex
   choice (power   ----------->    ----------->
   up, configuration
   change, never,                    ICANREACH_ex
   connect time, etc.)               <-----------

   PU 2.0 is
   configured
   in DLSw to      DLC_XID(null)   CANUREACH_cs    DLC_START_DL
   call in         ----------->    ----------->    ----------->
                   circuit_start                   resolve_pending

                                     ICANREACH_cs    DLC_DL_STARTED
                                     <-----------    <-----------
               circuit_established                 circuit_pending
                                   REACH_ACK
                                   ----------->   circuit_established

                                   XIDFRAME        DLC_XID
                                   ----------->    ----------->

                          DLC_XID        XIDFRAME         DLC_XID
   respond with      <-----------    <-----------    <-----------
   XID configured
   for station or
   forward XID to
   station and
   send response   DLC_XID         XIDFRAME        DLC_XID
                   ----------->    ----------->    ----------->

             SNRM     DLC_CONTACT       CONTACTED    DLC_CONTACTED
     <-----------    <-----------    <-----------    <-----------
                   contact_pending                 connect_pending

A.K. Bartky                                                  [Page 34]RFC XXXX      DLSw: Switch-to-Switch Protocol                June 1994

   UA              DLC_CONTACTED   CONTACT         DLC_CONTACT
   ----------->    ----------->    ----------->    ----------->
                      connected                       connected

      IFRAMEs        DLC_INFOs        IFRAMEs        DLC_INFOs
   <----------->   <------------>  <------------>  <------------>
   --------------------------------------------------------------------------

A.K. Bartky                                                  [Page 35]RFC XXXX      DLSw: Switch-to-Switch Protocol                June 1994

   Here is an example of a switched SDLC PU 2.0 device as the origin station.

      ======                            ___                           ======
      |    |        ---------        __/   \__       ---------        |    |
      |    |      __|  _|_  |__     /   IP    \    __|  _|_  |__      |    |
      ======        |   |   |      <  Network  >     |   |   |        ======
     /______\       ---------       \__     __/      ---------       /______\
      Origin       Origin DLSw         \___/        Target DLSw      Target
      Station        partner                          partner        Station

                   disconnected                     disconnected

   implementer's   DLC_RESOLVE_C   CANUREACH_ex
   choice (power   ----------->    ----------->
   up, configuration
   change, receipt                   ICANREACH_ex
   of XID, never, etc.)              <-----------

   XID(null)       DLC_XID(null)   CANUREACH_cs    DLC_START_DL
   ----------->    ----------->    ----------->    ----------->
                   circuit_start                   resolve_pending

                                     ICANREACH_cs    DLC_DL_STARTED
                                     <-----------    <-----------
               circuit_established                 circuit_pending
                                   REACH_ACK
                                   ----------->   circuit_established

                                   XIDFRAME        DLC_XID
                                   ----------->    ----------->

              XID         DLC_XID        XIDFRAME         DLC_XID
     <-----------    <-----------    <-----------    <-----------

   XID             DLC_XID         XIDFRAME        DLC_XID
   ----------->    ----------->    ----------->    ----------->

             SNRM     DLC_CONTACT       CONTACTED    DLC_CONTACTED
     <-----------    <-----------    <-----------    <-----------
                   contact_pending                 connect_pending

   UA              DLC_CONTACTED   CONTACT         DLC_CONTACT
   ----------->    ----------->    ----------->    ----------->
                      connected                       connected

      IFRAMEs        DLC_INFOs        IFRAMEs        DLC_INFOs
   <------------>  <------------>  <------------>  <------------>

A.K. Bartky                                                  [Page 36]RFC XXXX      DLSw: Switch-to-Switch Protocol                June 1994

   Here is an example of a leased SDLC PU 2.0 device as the target station.

      ======                            ___                           ======
      |    |        ---------        __/   \__       ---------        |    |
      |    |      __|  _|_  |__     /   IP    \    __|  _|_  |__      |    |
      ======        |   |   |      <  Network  >     |   |   |        ======
     /______\       ---------       \__     __/      ---------       /______\
      Origin       Origin DLSw         \___/        Target DLSw       Target
      Station        partner                          partner         Station
                                                                      (SDLC)
                   disconnected                    disconnected

                   DLC_RESOLVE_C   CANUREACH_ex
                   ----------->    ----------->    reply if virtual MAC/SAP for
                                                   SDLC station is configured,
                                                   if SDLC station responds to
                                     ICANREACH_ex  TEST/SNRM/DISC, etc.
                                     <-----------

                   DLC_XID         CANUREACH_cs    DLC_START_DL    SNRM
                   ----------->    ----------->    ----------->    ----------->
                   circuit_start                   resolve_pending

                                     ICANREACH_cs    DLC_DL_STARTED            UA
                                     <-----------    <-----------    <-----------
               circuit_established                 circuit_pending
                                                                   RNR
                                   REACH_ACK                       ----------->
                                   ----------->   circuit_established

                                   XIDFRAME        DLC_XID
                                   ----------->    ----------->    respond with
                                                                   XID configured
                                                                   for station or
                                                                   forward XID to
                                                                   station and
                          DLC_XID        XIDFRAME         DLC_XID  send response
                     <-----------    <-----------    <-----------

                   DLC_CONTACTED   CONTACT         DLC_CONTACT     RR
                   ----------->    ----------->    ----------->    ----------->
                   connect_pending                contact_pending

                      DLC_CONTACT       CONTACTED    DLC_CONTACTED
                     <-----------    <-----------    <-----------
                     connected                        connected

                     DLC_INFOs        IFRAMEs        DLC_INFOs        IFRAMEs
                   <------------>  <------------>  <------------>  <------------>

A.K. Bartky                                                  [Page 37]